﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sio.Mdm.Connector
{
    interface IConnector
    {        
        void Connect(string server, string userName, string password);        
        void Connect(string server, int port, string userName, string password);
        void Connect(string server, string userName, string password, bool useSSL);        
        void Connect(string server, int port, string userName, string password, bool useSSL);

        bool Exists(string value, ConnectorBase.eLdapSearchField searchField);
        bool Exists(string value, ConnectorBase.eLdapSearchField searchField, ConnectorBase.eLdapSearchScope searchScope);
        bool Exists(string value, ConnectorBase.eLdapSearchField searchField, ConnectorBase.eLdapSearchScope searchScope, string baseDN);
        bool Exists(string value, ConnectorBase.eLdapSearchField searchField, ConnectorBase.eLdapSearchScope searchScope, string baseDN, ConnectorBase.eLdapSearchObject searchObject);

        ldapObject Load(string DN);
        //ldapObject Load(string DN);

        ldapObject GetDiff(ldapObject data1, ldapObject data2);        
    }
}
